# --------------------------------------------------------------------
# Makefile Genérico :: Módulo 2. Curso Experto Desarrollo Videojuegos
# Carlos González Morcillo     Escuela Superior de Informática (UCLM)
# --------------------------------------------------------------------
EXEC := calcSlerp

DIRSRC := src/
DIROBJ := obj/
DIRHEA := include/
DIRLIB := lib/

CXX := g++

# Flags de compilación -----------------------------------------------
CXXFLAGS := -I $(DIRHEA) -Wall `pkg-config --cflags OGRE` -L $(DIRLIB)

# Flags del linker ---------------------------------------------------
LDFLAGS := `pkg-config --libs OGRE` -lGL -lOgreMain -lOIS -lstdc++ -L $(DIRLIB) -lmyslerp

# Obtención automática de la lista de objetos a compilar -------------
OBJS := $(subst $(DIRSRC), $(DIROBJ), \
	$(patsubst %.cpp, %.o, $(wildcard $(DIRSRC)*.cpp)))

.PHONY: all clean

all: libreria $(EXEC)

# Enlazado -----------------------------------------------------------
$(EXEC): $(OBJS)
	$(CXX) $(LDFLAGS) -o $@ $^

libreria: $(DIROBJ)myslerp.o 
	ar rs $(DIRLIB)libmyslerp.a $(DIROBJ)myslerp.o

# Compilación --------------------------------------------------------
$(DIROBJ)%.o: $(DIRSRC)%.cpp
	$(CXX) $(CXXFLAGS) -c $< -o $@

# Limpieza de temporales ---------------------------------------------
clean:
	rm -f *.log $(EXEC) *~ $(DIROBJ)* $(DIRSRC)*~ $(DIRHEA)*~ $(DIRLIB)*
